deferred class IFACEA
feature
    A(a : ARRAY[ANY]) : INTEGER deferred end
end

deferred class IFACEB
feature
    A(a : ARRAY[ANY]) : INTEGER deferred end
end

deferred class IFACEC
feature
    A(a : ARRAY[ANY]) : INTEGER deferred end
end

deferred class TEST1
inherit
        IFACEA
inherit
        IFACEB
        redefine A
inherit
        IFACEC
        redefine A
end

class TEST2
inherit
       TEST1
       redefine A
create 
        make
feature
    make
    do
    
    end
    A(a : ARRAY[ANY]) : INTEGER
    do 
       std_output.put_string("TEST2 %N")
       Result:=2
    end
end


class APP
feature
    INIT() 
    local 
          t : TEST2;
          a: IFACEA;
          b: IFACEB;
          c: IFACEC 
          f : ARRAY[ANY]
    do 
        !! t.make()
        a:=t
        b:=t
        c:=t
        !!f.make(5)
        a.a(f)
        b.a(f)
        c.a(f)
    end
end